package com.ews.onlineexchange.app.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.ews.onlineexchange.model.Attachment;
import com.ews.onlineexchange.model.BulletinDiscardRecord;
import com.ews.onlineexchange.model.ChooseType;
import com.ews.onlineexchange.model.ContractRecord;
import com.ews.onlineexchange.model.Image;
import com.ews.onlineexchange.model.LimitUnit;
import com.ews.onlineexchange.model.RequirementDefination;
import com.ews.onlineexchange.model.ServiceBuyer;
import com.ews.onlineexchange.model.TimeSpan;
import com.ews.onlineexchange.model.Trade;
import com.ews.onlineexchange.model.TradeStatus;


/**
 * @author Administrator
 *公告临时实体（app）
 *
 */
public class TempBulletin implements Serializable{
	private static final long			serialVersionUID			= 1L;
	private String						id;
	private String 						serialNumber;															// 公告编号
	private String						title;																	// 公告标题
	private	ServiceBuyer				buyer;																	// 项目采购单位
	private String						projectName;															// 采购项目名称
	private BigDecimal					amountOfInvestment;														// 项目总投资
	private String						servicePrice;															//服务金额（字符串）
	private BigDecimal					price;																	// 服务金额
	private BigDecimal					startingPrice;															// 起始价
	private String						priceRemark;															// 服务金额说明
	private String						content;																// 服务内容
	private String						projectInfo;															// 项目建设内容
	private String						reqRemark;																// 公告要求说明
	private Integer						limitOfTime;															// 合同约定完成时限
	private LimitUnit					limitUnit;																// 时间单位
	private String						limitRemark;															// 合同约定完成时限说明
	private String						wayOfPayment;															// 付款方式
	private ChooseType					wayOfChoose;															// 中介选取方式
	private Date						endingApplyTime;														// 截止报名时间
	private String						addressOfChoose;														// 公开选取中介地址
	private Date						chooseTime;																// 开始选取时间
	private String						teleOfConsult;															// 咨询电话
	private String						teleOfSupervise;														// 监督电话
	private Boolean						auditResult;															// 是否已通过审核
	private String						auditor;																// 审核人
	private Date						auditTime;	
	private boolean 					over;
	private Date						overTime;
	private Integer						overYear;
	private Integer 					overMonth;
	private String						successSupplier;
	private boolean						applyDone;									// 是否申请结算
	private Date						applyDoneTime;								// 申请结算时间
	private boolean 					done;										// 评价完成
	private Date						doneTime;
	private TradeStatus                 tradeStatus = TradeStatus.Opened;
	private TimeSpan 					timeSPan;
	private Integer 					hasAppliedCount; 
	private String						bulletinReqStr;
	private String 						qualificationStr;
	private String						agentServiceStr;
	private List<TempQualificationGroup>agentServiceGroups;
	private List<TempAttachment>		attachments;
	private Date						distributeDate;
	private boolean						alreadyApplyOver;
	private List<TempServiceSupplier>	appliedSuppliers;
	private List<TempServiceSupplier>	bestAppliedSuppliers;
	private TempServiceSupplier 		successTradeSupplier;

	private Short						candidateTradeCount;												//候选中介数量（近）
	private List<TempAttachment>		appliedDoneAttachments	= new ArrayList<>();// 采购方结算相关附件
	private List<TempAttachment>		assessAttachments	= new ArrayList<>();// 评审选取相关附件
	private List<TempImage>				assessImages = 	new ArrayList<TempImage>();								// 单位盖章文件照片
	private BigDecimal					industryStandard;														//竞价和均价选取使用的行业标准	
	private BigDecimal					agreedPrice;															//竞价和均价选取的最终成交价
	private List<RequirementDefination>	defs = new ArrayList<>();								
	private List<TempTrade>					verifiedTrades = new ArrayList<>();											//候选中介数量（近）
	
	private String						bestTradeSupplierNames;
	private List<TempImage>				photos = 	 new ArrayList<TempImage>();									// 单位盖章文件照片                                           		//直接选取中介	
	private String						reChooseReason;							//重新选取原因或作废原因	
	
	private List<BulletinDiscardRecord> discardRecords = new ArrayList<>();
	
	
	
	public List<BulletinDiscardRecord> getDiscardRecords() {
		return discardRecords;
	}

	public void setDiscardRecords(List<BulletinDiscardRecord> discardRecords) {
		this.discardRecords = discardRecords;
	}

	public String getBestTradeSupplierNames() {
		return bestTradeSupplierNames;
	}

	public void setBestTradeSupplierNames(String bestTradeSupplierNames) {
		this.bestTradeSupplierNames = bestTradeSupplierNames;
	}

	public List<TempImage> getPhotos() {
		return photos;
	}

	public void setPhotos(List<TempImage> photos) {
		this.photos = photos;
	}

	public String getReChooseReason() {
		return reChooseReason;
	}

	public void setReChooseReason(String reChooseReason) {
		this.reChooseReason = reChooseReason;
	}

	public String getSerialNumber() {
		return serialNumber;
	}

	public Date getDistributeDate() {
		return distributeDate;
	}
	
	public Short getCandidateTradeCount() {
		return candidateTradeCount;
	}

	public void setCandidateTradeCount(Short candidateTradeCount) {
		this.candidateTradeCount = candidateTradeCount;
	}

	

	public List<TempTrade> getVerifiedTrades() {
		return verifiedTrades;
	}

	public void setVerifiedTrades(List<TempTrade> verifiedTrades) {
		this.verifiedTrades = verifiedTrades;
	}

	public List<TempAttachment> getAppliedDoneAttachments() {
		return appliedDoneAttachments;
	}

	public void setAppliedDoneAttachments(List<TempAttachment> appliedDoneAttachments) {
		this.appliedDoneAttachments = appliedDoneAttachments;
	}

	public List<TempAttachment> getAssessAttachments() {
		return assessAttachments;
	}

	public void setAssessAttachments(List<TempAttachment> assessAttachments) {
		this.assessAttachments = assessAttachments;
	}

	public List<TempImage> getAssessImages() {
		return assessImages;
	}

	public void setAssessImages(List<TempImage> assessImages) {
		this.assessImages = assessImages;
	}

	public BigDecimal getIndustryStandard() {
		return industryStandard;
	}

	public void setIndustryStandard(BigDecimal industryStandard) {
		this.industryStandard = industryStandard;
	}

	public BigDecimal getAgreedPrice() {
		return agreedPrice;
	}

	public void setAgreedPrice(BigDecimal agreedPrice) {
		this.agreedPrice = agreedPrice;
	}

	public List<RequirementDefination> getDefs() {
		return defs;
	}

	public void setDefs(List<RequirementDefination> defs) {
		this.defs = defs;
	}

	public void setDistributeDate(Date distributeDate) {
		this.distributeDate = distributeDate;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public void setSerialNumber(String serialNumber) {
		this.serialNumber = serialNumber;
	}
	
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}	
	
	public ServiceBuyer getBuyer() {
		return buyer;
	}

	public void setBuyer(ServiceBuyer buyer) {
		this.buyer = buyer;
	}

	public Integer getHasAppliedCount() {
		return hasAppliedCount;
	}

	public void setHasAppliedCount(Integer hasAppliedCount) {
		this.hasAppliedCount = hasAppliedCount;
	}


	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	
	
	public List<TempAttachment> getAttachments() {
		return attachments;
	}

	public void setAttachments(List<TempAttachment> attachments) {
		this.attachments = attachments;
	}

	public BigDecimal getAmountOfInvestment() {
		return amountOfInvestment;
	}

	public void setAmountOfInvestment(BigDecimal amountOfInvestment) {
		this.amountOfInvestment = amountOfInvestment;
	}
	
	public String getServicePrice() {
		return servicePrice;
	}

	public void setServicePrice(String servicePrice) {
		this.servicePrice = servicePrice;
	}

	public BigDecimal getPrice() {
		return price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}
	
	
	
	public TempServiceSupplier getSuccessTradeSupplier() {
		return successTradeSupplier;
	}

	public void setSuccessTradeSupplier(TempServiceSupplier successTradeSupplier) {
		this.successTradeSupplier = successTradeSupplier;
	}

	public String getPriceRemark() {
		return priceRemark;
	}

	public void setPriceRemark(String priceRemark) {
		this.priceRemark = priceRemark;
	}


	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}


	public String getProjectInfo() {
		return projectInfo;
	}

	public void setProjectInfo(String projectInfo) {
		this.projectInfo = projectInfo;
	}

	public String getReqRemark() {
		return reqRemark;
	}

	public void setReqRemark(String reqRemark) {
		this.reqRemark = reqRemark;
	}

	public Integer getLimitOfTime() {
		return limitOfTime;
	}

	public void setLimitOfTime(Integer limitOfTime) {
		this.limitOfTime = limitOfTime;
	}

	public LimitUnit getLimitUnit() {
		return limitUnit;
	}

	public void setLimitUnit(LimitUnit limitUnit) {
		this.limitUnit = limitUnit;
	}

	public String getLimitRemark() {
		return limitRemark;
	}

	public void setLimitRemark(String limitRemark) {
		this.limitRemark = limitRemark;
	}

	public String getWayOfPayment() {
		return wayOfPayment;
	}

	public void setWayOfPayment(String wayOfPayment) {
		this.wayOfPayment = wayOfPayment;
	}
	
	public ChooseType getWayOfChoose() {
		return wayOfChoose;
	}

	public void setWayOfChoose(ChooseType wayOfChoose) {
		this.wayOfChoose = wayOfChoose;
	}

	public Date getEndingApplyTime() {
		return endingApplyTime;
	}

	public void setEndingApplyTime(Date endingApplyTime) {
		this.endingApplyTime = endingApplyTime;
	}

	public String getAddressOfChoose() {
		return addressOfChoose;
	}

	public void setAddressOfChoose(String addressOfChoose) {
		this.addressOfChoose = addressOfChoose;
	}

	public Date getChooseTime() {
		return chooseTime;
	}

	public void setChooseTime(Date chooseTime) {
		this.chooseTime = chooseTime;
	}

	public String getTeleOfConsult() {
		return teleOfConsult;
	}

	public void setTeleOfConsult(String teleOfConsult) {
		this.teleOfConsult = teleOfConsult;
	}

	public String getTeleOfSupervise() {
		return teleOfSupervise;
	}

	public void setTeleOfSupervise(String teleOfSupervise) {
		this.teleOfSupervise = teleOfSupervise;
	}

	public Boolean getAuditResult() {
		return auditResult;
	}

	public void setAuditResult(Boolean auditResult) {
		this.auditResult = auditResult;
	}

	public String getAuditor() {
		return auditor;
	}

	public void setAuditor(String auditor) {
		this.auditor = auditor;
	}

	public Date getAuditTime() {
		return auditTime;
	}

	public void setAuditTime(Date auditTime) {
		this.auditTime = auditTime;
	}

	public boolean isOver() {
		return over;
	}

	public void setOver(boolean over) {
		this.over = over;
	}

	public Date getOverTime() {
		return overTime;
	}

	public void setOverTime(Date overTime) {
		this.overTime = overTime;
	}

	public Integer getOverYear() {
		return overYear;
	}

	public void setOverYear(Integer overYear) {
		this.overYear = overYear;
	}

	public Integer getOverMonth() {
		return overMonth;
	}

	public void setOverMonth(Integer overMonth) {
		this.overMonth = overMonth;
	}

	public BigDecimal getStartingPrice() {
		return startingPrice;
	}

	public void setStartingPrice(BigDecimal startingPrice) {
		this.startingPrice = startingPrice;
	}
	
	public boolean isDone() {
		return done;
	}

	public void setDone(boolean done) {
		this.done = done;
	}

	public Date getDoneTime() {
		return doneTime;
	}

	public void setDoneTime(Date doneTime) {
		this.doneTime = doneTime;
	}

	public TradeStatus getTradeStatus() {
		return tradeStatus;
	}

	public void setTradeStatus(TradeStatus tradeStatus) {
		this.tradeStatus = tradeStatus;
	}
	
	public TimeSpan getTimeSPan() {
		return timeSPan;
	}

	public void setTimeSPan(TimeSpan timeSPan) {
		this.timeSPan = timeSPan;
	}

	
	public boolean isApplyDone() {
		return applyDone;
	}

	public void setApplyDone(boolean applyDone) {
		this.applyDone = applyDone;
	}

	public Date getApplyDoneTime() {
		return applyDoneTime;
	}

	public void setApplyDoneTime(Date applyDoneTime) {
		this.applyDoneTime = applyDoneTime;
	}	

	public String getBulletinReqStr() {
			return bulletinReqStr;
		}

	public void setBulletinReqStr(String bulletinReqStr) {
		this.bulletinReqStr = bulletinReqStr;
	}

	public String getSuccessSupplier() {
		return successSupplier;
	}

	public void setSuccessSupplier(String successSupplier) {
		this.successSupplier = successSupplier;
	}

	public String getQualificationStr() {
		return qualificationStr;
	}

	public void setQualificationStr(String qualificationStr) {
		this.qualificationStr = qualificationStr;
	}

	public String getAgentServiceStr() {
		return agentServiceStr;
	}

	public void setAgentServiceStr(String agentServiceStr) {
		this.agentServiceStr = agentServiceStr;
	}

	public List<TempQualificationGroup> getAgentServiceGroups() {
		return agentServiceGroups;
	}

	public void setAgentServiceGroups(List<TempQualificationGroup> agentServiceGroups) {
		this.agentServiceGroups = agentServiceGroups;
	}

	public boolean isAlreadyApplyOver() {
		return alreadyApplyOver;
	}

	public void setAlreadyApplyOver(boolean alreadyApplyOver) {
		this.alreadyApplyOver = alreadyApplyOver;
	}

	public List<TempServiceSupplier> getAppliedSuppliers() {
		return appliedSuppliers;
	}

	public void setAppliedSuppliers(List<TempServiceSupplier> appliedSuppliers) {
		this.appliedSuppliers = appliedSuppliers;
	}

	public List<TempServiceSupplier> getBestAppliedSuppliers() {
		return bestAppliedSuppliers;
	}

	public void setBestAppliedSuppliers(List<TempServiceSupplier> bestAppliedSuppliers) {
		this.bestAppliedSuppliers = bestAppliedSuppliers;
	}

	
	
	
}
